<!doctype HTML public "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- Click to Convert 5.2: Anything to HTML -->
<!-- http://www.clicktoconvert.com -->

<html>
<head>
<title>gravityboxscheduleuserguide - page 42 of 234</title>
<meta http-equiv=content-type content=text/html;charset=iso-8859-1>
<meta name="Generator" content="Click to Convert">

<!--Start of page styles-->
<STYLE TYPE="text/css">
<!--
 /* Foreground Image Styles */

 /* Position Styles */
 .ts42p0{position:absolute;left:106px;top:97px;}
 .ts42p1{position:absolute;left:352px;top:97px;}
 .ts42p3{position:absolute;left:672px;top:97px;}
 .ts42p7{position:absolute;left:106px;top:113px;}
 .ts42p8{position:absolute;left:706px;top:1026px;}
 .ts42p9{position:absolute;left:331px;top:1044px;}
 .ts42p13{position:absolute;left:106px;top:146px;}
 .ts42p14{position:absolute;left:106px;top:164px;}
 .ts42p16{position:absolute;left:106px;top:183px;}
 .ts42p18{position:absolute;left:106px;top:201px;}
 .ts42p19{position:absolute;left:106px;top:220px;}
 .ts42p21{position:absolute;left:106px;top:256px;}
 .ts42p22{position:absolute;left:106px;top:275px;}
 .ts42p23{position:absolute;left:106px;top:293px;}
 .ts42p24{position:absolute;left:106px;top:312px;}
 .ts42p26{position:absolute;left:106px;top:330px;}
 .ts42p27{position:absolute;left:106px;top:348px;}
 .ts42p28{position:absolute;left:106px;top:367px;}
 .ts42p29{position:absolute;left:106px;top:385px;}
 .ts42p31{position:absolute;left:106px;top:404px;}
 .ts42p32{position:absolute;left:106px;top:422px;}
 .ts42p33{position:absolute;left:106px;top:440px;}
 .ts42p37{position:absolute;left:106px;top:459px;}
 .ts42p39{position:absolute;left:106px;top:477px;}
 .ts42p40{position:absolute;left:106px;top:496px;}
 .ts42p41{position:absolute;left:106px;top:514px;}
 .ts42p43{position:absolute;left:106px;top:532px;}
 .ts42p44{position:absolute;left:106px;top:551px;}
 .ts42p45{position:absolute;left:106px;top:569px;}
 .ts42p47{position:absolute;left:106px;top:588px;}
 .ts42p48{position:absolute;left:106px;top:606px;}
 .ts42p49{position:absolute;left:106px;top:624px;}
 .ts42p51{position:absolute;left:106px;top:643px;}
 .ts42p52{position:absolute;left:106px;top:661px;}
 .ts42p54{position:absolute;left:106px;top:680px;}
 .ts42p55{position:absolute;left:106px;top:698px;}
 .ts42p56{position:absolute;left:106px;top:716px;}
 .ts42p58{position:absolute;left:106px;top:735px;}
 .ts42p59{position:absolute;left:106px;top:753px;}
 .ts42p62{position:absolute;left:106px;top:772px;}
 .ts42p64{position:absolute;left:106px;top:790px;}
 .ts42p65{position:absolute;left:106px;top:808px;}
 .ts42p66{position:absolute;left:106px;top:827px;}
 .ts42p67{position:absolute;left:106px;top:845px;}
 .ts42p68{position:absolute;left:106px;top:864px;}
 .ts42p69{position:absolute;left:106px;top:882px;}
 .ts42p70{position:absolute;left:106px;top:900px;}
 .ts42p72{position:absolute;left:106px;top:919px;}
 .ts42p73{position:absolute;left:106px;top:937px;}
 .ts42p74{position:absolute;left:106px;top:956px;}
 .ts42p76{position:absolute;left:106px;top:974px;}
 .ts42p78{position:absolute;left:552px;top:255px;}
 .ts42p80{position:absolute;left:552px;top:267px;}
 .ts42p81{position:absolute;left:552px;top:280px;}
 .ts42p82{position:absolute;left:552px;top:292px;}
 .ts42p83{position:absolute;left:552px;top:304px;}
 .ts42p84{position:absolute;left:552px;top:316px;}
 .ts42p85{position:absolute;left:552px;top:329px;}
 .ts42p86{position:absolute;left:552px;top:341px;}
 .ts42p88{position:absolute;left:552px;top:353px;}
 .ts42p89{position:absolute;left:552px;top:366px;}

 /* Font Styles */
 .ft0p42{font-style:normal;font-weight:bold;font-size:13px;font-family:arial,sans-serif;color:#000000;}
 .ft1p42{font-weight:normal;}
 .ft2p42{font-style:normal;font-weight:normal;font-size:13px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft3p42{font-style:normal;font-weight:normal;font-size:16px;font-family:"times new roman","times new roman",times,serif;color:#000000;}
 .ft4p42{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#000000;}
 .ft5p42{font-style:normal;font-weight:normal;font-size:16px;font-family:arial,sans-serif;color:#000000;}
 .ft6p42{font-style:normal;font-weight:bold;font-size:21px;font-family:arial,sans-serif;color:#808080;}
 .ft7p42{font-style:normal;font-weight:bold;font-size:11px;font-family:arial,sans-serif;color:#FFFFFF;}
 .ft8p42{font-style:normal;font-weight:normal;font-size:11px;font-family:arial,sans-serif;color:#000000;}

 /* Background Style */
 .styleBackground42{position:absolute;left:105px;top:255px}

 /* Navigation Styles */
 .styleNavBarTop{position:absolute;left:0px;top:2px}
 .nb{position:absolute;left:2px;top:0px}
 .nbs{position:absolute;left:0px;top:0px}
 .nbe{position:absolute;left:836px;top:0px}
 .styleNavBarBot{position:absolute;left:0px;top:1117px}
-->
</STYLE>
<!--End of page styles-->

</head>
<body bgcolor="#ffffff" text="#000000" link="#0000FF" Vlink="#660099">

<table id="pageTable" width="836" STYLE="position: relative; left: auto; top: auto;"><tr><td>
<div class=nbs><img src="./navbarstart.gif" width="2" height="30"></div>
<div class=nb><img src="./navbar.gif" width="836" height="30" alt="Navigation bar"></div>
<div class=nbe><img src="./navbarend.gif" width="2" height="30"></div>
<div class=styleNavBarTop>
<table width="834" height="26" border="0" cellspacing="0">
  <tr align="left">
    <td width="4">&nbsp;</td>
    <td width="25" align="center"><a href="http://www.gravitybox.com" target="_parent"><img src="./home.gif" border="0" alt="Home"></a></td>
    <td width="25" align="center"><a href="#" onClick="window.open('./print.html','Printing','width=300,height=100,toolbar=no,directories=no');return false;"><img src="./print.gif" border="0" alt="Print document"></a></td>
    <td width="10" align="center"><img src="./separator.gif" border="0"></td>
    <td width="18" align="center"><a href="./index1.html"><img src="./start.gif" width="18" height="14" border="0" alt="Start"></a></td>
    <td width="18" align="center"><a href="./index41.html"><img src="./back.gif" width="14" height="14" border="0" alt="Previous page"></a></td>
    <td width="80" valign="middle"><table width="100%" height="16" border="0" cellspacing="1" bgcolor="#ACA899"><tr><td align="center" bgcolor="#ffffff"><font face=verdana,arial,sans-serif><font size="1">&nbsp;42 of 234&nbsp;</font></font></td></tr></table></td>
    <td width="18" align="center"><a href="./index43.html"><img src="./forward.gif" width="14" height="14" border="0" alt="Next page"></a></td>
    <td width="18" align="center"><a href="./index234.html"><img src="./end.gif" width="18" height="14" border="0" alt="End"></a></td>
    <td width="620">&nbsp;</td>
  </tr>
</table>
<p>
</div>
<nobr>
<div class=styleBackground42><img src="./background42.png" width="633" height="800" border="0" alt=""></div>
<div class=ts42p0><span class="ft0p42"> </span></div>
<div class=ts42p1><span class="ft0p42">Gravitybox Schedule Primer<span class="ft1p42"> </span></span></div>
<div class=ts42p3><span class="ft0p42">Page 40&nbsp; </span></div>
<div class=ts42p7><span class="ft2p42"> </span></div>
<div class=ts42p8><span class="ft3p42"> </span></div>
<div class=ts42p9><span class="ft4p42">1998&#45;2004 Gravitybox Software LLC<span class="ft3p42"> </span></span></div>
<div class=ts42p13><span class="ft5p42">reference is executed much faster than looping with an object&#146;s index as in the second </span></div>
<div class=ts42p14><span class="ft5p42">example. This difference becomes more drastic as the number of items in the loop </span></div>
<div class=ts42p16><span class="ft5p42">increases. </span></div>
<div class=ts42p18><span class="ft5p42"> </span></div>
<div class=ts42p19><span class="ft6p42">Adding </span></div>
<div class=ts42p21><span class="ft5p42">A good place to start adding code is to manually add an </span></div>
<div class=ts42p22><span class="ft5p42">appointment. This may be accomplished in code, with the </span></div>
<div class=ts42p23><span class="ft5p42">ScheduleItems collection&#146;s Add method. A user can add </span></div>
<div class=ts42p24><span class="ft5p42">appointments, if the AllowAdd property of the schedule has </span></div>
<div class=ts42p26><span class="ft5p42">been set to true. If false, user adds are not permitted. The </span></div>
<div class=ts42p27><span class="ft5p42">user may click the mouse&#146;s left mouse button on the starting </span></div>
<div class=ts42p28><span class="ft5p42">time that he wishes the appointment to begin. He must then </span></div>
<div class=ts42p29><span class="ft5p42">drag the mouse the length of the appointment. The times of the schedule are displayed </span></div>
<div class=ts42p31><span class="ft5p42">in the margin of the schedule. The times are clearly marked for the user to know exactly </span></div>
<div class=ts42p32><span class="ft5p42">the position of the mouse. When the mouse button is released, an appointment is </span></div>
<div class=ts42p33><span class="ft5p42">created. This assumes that the user did make a non&#45;zero length appointment. If the </span></div>
<div class=ts42p37><span class="ft5p42">length of his drag was zero minutes, nothing happens. </span></div>
<div class=ts42p39><span class="ft5p42"> </span></div>
<div class=ts42p40><span class="ft5p42">If the property AllowAddDialog is set to true, the default property box will appear. This </span></div>
<div class=ts42p41><span class="ft5p42">allows the user to modify key properties of the appointment. This dialog is not </span></div>
<div class=ts42p43><span class="ft5p42">configurable by the developer. If special functionality needs to be added to the property </span></div>
<div class=ts42p44><span class="ft5p42">box, a custom screen needs to be constructed and the default property box canceled. </span></div>
<div class=ts42p45><span class="ft5p42">Alternatively, you may use the ScheduleProperties control. This control is discussed </span></div>
<div class=ts42p47><span class="ft5p42">later and may be used to construct a customized property screen. After the user </span></div>
<div class=ts42p48><span class="ft5p42">completes the editing of properties in the default dialog, he will have two options. First </span></div>
<div class=ts42p49><span class="ft5p42">he may press the &#147;Ok&#148; button, at which point the modified appointment information is </span></div>
<div class=ts42p51><span class="ft5p42">saved. If the user presses the &#147;Cancel&#148; button on the property box, no save will be </span></div>
<div class=ts42p52><span class="ft5p42">performed. </span></div>
<div class=ts42p54><span class="ft5p42"> </span></div>
<div class=ts42p55><span class="ft5p42">If a property box should not be displayed at all, the AllowAddDialog should be set to </span></div>
<div class=ts42p56><span class="ft5p42">false. When the user creates an appointment, it will appear on the schedule with default </span></div>
<div class=ts42p58><span class="ft5p42">appointment values. There will be no text displayed inside of it. The user may modify </span></div>
<div class=ts42p59><span class="ft5p42">the appointment values later by double&#45;clicking the appointment. The event sequence </span></div>
<div class=ts42p62><span class="ft5p42">will follow the order: BeforeAdd, AfterAdd.&nbsp; </span></div>
<div class=ts42p64><span class="ft5p42"> </span></div>
<div class=ts42p65><span class="ft5p42">The BeforeAdd event is raised before the appointment is actually added to the </span></div>
<div class=ts42p66><span class="ft5p42">ScheduleItems collection. It will return as parameters the proposed appointment&#146;s date, </span></div>
<div class=ts42p67><span class="ft5p42">room, start time, and length. In addition, there is a Boolean Cancel parameter that will </span></div>
<div class=ts42p68><span class="ft5p42">allow for the cancellation of the Add operation, if so desired. You may add code to this </span></div>
<div class=ts42p69><span class="ft5p42">event to perform whatever error checking you wish. If the AllowAddDialog property is </span></div>
<div class=ts42p70><span class="ft5p42">true, this event may also be used to cancel the dialog by setting the &#147;Cancel&#148; parameter </span></div>
<div class=ts42p72><span class="ft5p42">to false and displaying your own custom dialog. The event may also be used to error </span></div>
<div class=ts42p73><span class="ft5p42">check the parameters and Cancel the addition if necessary. This may be required if the </span></div>
<div class=ts42p74><span class="ft5p42">user tried to create an appointment outside of some bounds that you have set. Perhaps </span></div>
<div class=ts42p76><span class="ft5p42">you wish to cancel all appointments made on weekends. </span></div>
<div class=ts42p78><span class="ft7p42">Quick Tip </span></div>
<div class=ts42p80><span class="ft8p42">When adding many appointments, </span></div>
<div class=ts42p81><span class="ft8p42">toggle the &#147;AutoRedraw&#148; property to </span></div>
<div class=ts42p82><span class="ft8p42">false. This will turn off screen paints </span></div>
<div class=ts42p83><span class="ft8p42">for each object add. When you have </span></div>
<div class=ts42p84><span class="ft8p42">completed the loading, toggle this </span></div>
<div class=ts42p85><span class="ft8p42">property to true, as the screen will </span></div>
<div class=ts42p86><span class="ft8p42">not update when this property is </span></div>
<div class=ts42p88><span class="ft8p42">false. This action will speed your </span></div>
<div class=ts42p89><span class="ft8p42">loads dramatically. </span></div>
<div class=styleNavBarBot>
<table width="836" border="0" cellspacing="2">
  <tr></tr>
  <tr>
    <td width="118"><a href="http://www.purepage.com"><img src="./smalllogo.gif" width="118" height="46" border="0" alt="http://www.purepage.com"></a></td>
    <td></td>
  </tr>
</table>
</div>

</td></tr></table>

</body>
</html>
